'''
Created on Feb 22, 2017

@author: zhangyf
'''
'''
描述

abs() 函数返回数字的绝对值。
语法

以下是 abs() 方法的语法:

abs( x )

参数

x -- 数值表达式，可以是整数，浮点数，复数。

返回值
函数返回 x（数字）的绝对值，如果参数是一个复数，则返回它的大小。
实例

以下展示了使用 abs() 方法的实例： 
'''
print(abs(-10))
print(abs(100.10))

'''
 以上实例运行后输出结果为：
 abs(-40) :  40
 abs(100.10) :  100.1
'''
#===============================================================
'''
描述

ceil(x) 函数返回一个大于或等于 x 的的最小整数。
语法

以下是 ceil() 方法的语法:
'''
import math
print(math.pi)

'''
注意：ceil()是不能直接访问的，需要导入 math 模块，通过静态对象调用该方法。
参数
x -- 数值表达式。

返回值
函数返回返回一个大于或等于 x 的的最小整数。

实例
以下展示了使用 ceil() 方法的实例： 
'''
import math
print(math.ceil(-45.17))
print(math.ceil(100.12))
print(math.ceil(100.72))
print(math.ceil(math.pi))

'''
 以上实例运行后输出结果为：

math.ceil(-45.17) :  -45
math.ceil(100.12) :  101
math.ceil(100.72) :  101
math.ceil(math.pi) :  4
'''
#===============================================================
'''
 fabs() 函数 返回数字的绝对值，如math.fabs(-10) 返回10.0

描述

fabs() 方法返回数字的绝对值，如math.fabs(-10) 返回10.0。

fabs() 函数类似于 abs() 函数，但是他有两点区别:

    abs() 是内置函数。 fabs() 函数在 math 模块中定义。

    fabs() 函数只对浮点型跟整型数值有效。 abs() 还可以运用在复数中。

语法

以下是 fabs() 方法的语法:
 
 
'''
import math
'''
注意：fabs()是不能直接访问的，需要导入 math 模块，通过静态对象调用该方法。

参数
    x -- 数值表达式。
返回值
    返回数字的绝对值。
实例
    以下展示了使用 fabs() 方法的实例： 
'''
print(math.fabs(-45.17))
print(math.fabs(100.12))
print(math.fabs(100.72))
print(math.fabs(math.pi))

'''以上实例运行后输出结果为：
45.17
100.12
100.72
3.141592653589793
'''

#===============================================================
'''
floor(x)     方法返回不大于x的最大整数(向下取整)。

语法
以下是 floor() 方法的语法:

import math
math.floor( x )

注意：floor()是不能直接访问的，需要导入 math 模块，通过静态对象调用该方法。

参数
    x -- 数值表达式。
    
返回值
  返回小于或等于 x 的整数。 

实例
  以下展示了使用 floor() 方法的实例： 
'''
print(math.floor(-45.17))
print(math.floor(100.12))
print(math.floor(100.72))
print(math.floor(math.pi))

'''
以上实例运行后输出结果为： 
-46
100
100
3
'''

#===============================================================
'''
max() 函数
描述
    max() 方法返回给定参数的最大值，参数可以为序列。
    
语法
以下是 max() 方法的语法:
    max( x, y, z, .... )
    
参数
    x -- 数值表达式。
    y -- 数值表达式。
    z -- 数值表达式。
返回值
返回给定参数的最大值。
实例

以下展示了使用 max() 方法的实例： 
'''
print(max(80,100,101.1))
print ("max(80, 100, 1000) : ", max(80, 100, 1000))
print ("max(-20, 100, 400) : ", max(-20, 100, 400))
print ("max(-80, -20, -10) : ", max(-80, -20, -10))
print ("max(0, 100, -400) : ", max(0, 100, -400))

'''
以上实例运行后输出结果为：
101.1
max(80, 100, 1000) :  1000
max(-20, 100, 400) :  400
max(-80, -20, -10) :  -10
max(0, 100, -400) :  100
'''

#===============================================================
'''
min() 函数
描述
    min() 方法返回给定参数的最小值，参数可以为序列

语法
    以下是 min() 方法的语法:
    min( x, y, z, .... ) 

参数

    x -- 数值表达式。
    y -- 数值表达式。
    z -- 数值表达式。

返回值
    返回给定参数的最小值。

实例
    以下展示了使用 min() 方法的实例： 
'''
print ("min(80, 100, 1000) : ", min(80, 100, 1000))
print ("min(-20, 100, 400) : ", min(-20, 100, 400))
print ("min(-80, -20, -10) : ", min(-80, -20, -10))
print ("min(0, 100, -400) : ", min(0, 100, -400))

'''
 以上实例运行后输出结果为：

min(80, 100, 1000) :  80
min(-20, 100, 400) :  -20
min(-80, -20, -10) :  -80
min(0, 100, -400) :  -400
'''

#===============================================================
'''
modf() 函数
描述
    modf() 方法返回x的整数部分与小数部分，两部分的数值符号与x相同，整数部分以浮点型表示。

语法
    以下是 modf() 方法的语法:

import math
math.modf( x )

注意：modf()是不能直接访问的，需要导入 math 模块，通过静态对象调用该方法。
参数

    x -- 数值表达式。

返回值
    返回x的整数部分与小数部分，
    
实例
    以下展示了使用 modf() 方法的实例： 
'''
print(math.modf(100.12))
print ("math.modf(100.72) : ", math.modf(100.72))
print ("math.modf(119) : ", math.modf(119))
print ("math.modf(math.pi) : ", math.modf(math.pi))

'''
 以上实例运行后输出结果为：

math.modf(100.12) :  (0.12000000000000455, 100.0)
math.modf(100.72) :  (0.7199999999999989, 100.0)
math.modf(119) :  (0.0, 119.0)
math.modf(math.pi) :  (0.14159265358979312, 3.0)
'''

#===============================================================
'''
pow() 函数
描述
    pow() 方法返回 xy（x的y次方） 的值。
语法
    以下是 math 模块 pow() 方法的语法:
    import math
    math.pow( x, y )

内置的 pow() 方法
    pow(x, y[, z])
    函数是计算x的y次方，如果z在存在，则再对结果进行取模，其结果等效于pow(x,y) %z

注意：pow() 通过内置的方法直接调用，内置方法会把参数作为整型，而 math 模块则会把参数转换为 float。

参数

    x -- 数值表达式。
    y -- 数值表达式。
    z -- 数值表达式。

返回值
返回 xy（x的y次方） 的值。
实例

以下展示了使用 pow() 方法的实例： 

'''

print ("math.pow(100, 2) : ", math.pow(100, 2))
# 使用内置，查看输出结果区别
print ("pow(100, 2) : ", pow(100, 2))
print ("math.pow(100, -2) : ", math.pow(100, -2))
print ("math.pow(2, 4) : ", math.pow(2, 4))
print ("math.pow(3, 0) : ", math.pow(3, 0))

'''
 以上实例运行后输出结果为：
math.pow(100, 2) :  10000.0
pow(100, 2) :  10000
math.pow(100, -2) :  0.0001
math.pow(2, 4) :  16.0
math.pow(3, 0) :  1.0
'''


#===============================================================
'''
round() 函数

描述
    round() 方法返回浮点数x的四舍五入值。
    
语法
    以下是 round() 方法的语法:
    round( x [, n]  )

参数
    x -- 数值表达式。
    n -- 数值表达式。

返回值
    返回浮点数x的四舍五入值。
实例
    以下展示了使用 round() 方法的实例： 
'''
print ("round(70.23456) : ", round(70.23456,1))
print ("round(70.23456) : ", round(70.53456))
print ("round(70.23456) : ", round(70.53456,1))
print ("round(70.23456) : ", round(70.56456,1))
print ("round(70.23456) : ", round(70.23456))
print ("round(56.659,1) : ", round(56.659,1))
print ("round(80.264, 2) : ", round(80.264, 2))
print ("round(100.000056, 3) : ", round(100.000056, 3))
print ("round(-100.000056, 3) : ", round(-100.000056, 3))

'''
以上实例运行后输出结果为：

round(70.23456) :  70.2
round(70.23456) :  71
round(70.23456) :  70.5
round(70.23456) :  70.6
round(70.23456) :  70
round(56.659,1) :  56.7
round(80.264, 2) :  80.26
round(100.000056, 3) :  100.0
round(-100.000056, 3) :  -100.0
'''
